1. Field of the Invention
The invention concerns the dynamic reconfiguration of a network device based on demand for certain functional capabilities of the network device. In particular, the network device is a multifunction device, such as a combination fax/scanner/printer, which can be dynamically reconfigured by a configurator module on the network to have the capability to perform a different combination of functions. Of course the multifunction device can be any type of network client that needs to dynamically load and/or unload functionality for performance reasons, or for portability reasons related to low-hardware capacity equipped network devices. For example, the configurator module can reconfigure the network device to only be capable of performing a single function or a subset of the original functions. The configurator module can also reconfigure the network device to be capable of performing a new function in addition to the original functions. The configurator module utilizes a component repository to download appropriate functional components to the network device when necessary for reconfiguration.
2. Description of the Related Art
The use of a multifunction network device in a network environment allows network users to access a multitude of functional capabilities at a particular location. For example, a multifunction network device can comprise a combination fax/scanner/printer so that a user near the device can conveniently utilize the fax, scan and print capabilities of the device. In this manner, the use of such a multifunction network device reduces the need for separate single-function network devices which can only perform one function each.
Accordingly, a network fax device, a network scanner and a network printer can be replaced with a single multifunction network device. The use of the multifunction network device therefore has the benefit of reducing physical space that would otherwise be necessary to place multiple single-function network devices capable of the same functionality. In addition, the use of a multifunction network device is easier for a system administrator to manage because it reduces the overall number of network devices that would otherwise have to be managed.
Although multifunction network devices have several advantages as discussed above, they may experience reduced performance in comparison with single-function network devices. This reduced performance can be the result of limited hardware capacities of the multifunction network device, such as random access memory (RAM) and hard disk drive (HDD) capacities, as well as processor (CPU) capacity. A single-function network device, such as a network printer, has the dedicated support of the RAM, HDD and CPU within the device for performing a single function, such as printing. On the other hand, the RAM, HDD and CPU within a multifunction network device must support multiple functions, such as faxing, scanning and printing.
The capacities of the RAM, HDD and CPU within a multifunction network device are not necessarily proportional in relation to the multiple functions supported by the device. Accordingly, the multifunction network device may have less free capacity of the RAM, HDD and CPU to utilize when performing a particular function than a single-function network device has when performing the same function. For example, a typical multifunction network fax/scanner/printer might have ten megabytes (MB) of RAM and a one gigabyte (GB) HDD. The code associated with the fax function utilizes two MB of the RAM and two-hundred MB of the HDD, the code associated with the scan function utilizes three MB of the RAM and five-hundred MB of the HDD, and the code associated with the print function utilizes three MB of the RAM and one-hundred MB of the HDD. In this example, eight MB of the RAM and eight-hundred MB of the HDD are utilized by the code for the three functions. This leaves only two MB of the RAM and two-hundred MB of the HDD for the multifunction network device to use in operation for caching, queuing, working storage and other necessary uses.
A single-function network printer may have ten MB of RAM and a one GB HDD, of which the code for the print function utilizes three MB of the RAM and one-hundred MB of the HDD. The single-function network printer therefore has seven MB of the RAM and nine-hundred MB of the HDD to use in operation for caching, queuing, working storage and other necessary uses. This is more than three times the capacity of free RAM and HDD in the multifunction network device of the example above. Accordingly, the printing performance of the single-function network printer would be significantly greater than that of the multifunction network device in this example.
Sometimes the overall demand for a particular function in a network environment is much greater than normally experienced. For example, the network users may be in an office environment which requires them to generate reports on the last day of every work week, on which days the overall demand for printing will greatly increase in relation to the demand for faxing and scanning. As another example, the demand for faxing in a particular office environment may greatly increase during the morning as orders for the day are received and sent between companies. In these situations, a network environment having several multifunction network devices may experience limited throughput to process all of the requested print jobs or fax jobs, as the case may be, due to limited hardware capacities of the multifunction network devices to support the requested print jobs or fax jobs.
During these situations, substantial capacities of the RAM and the HDD are essentially wasted by those functions of the multifunction network device which are not currently in demand by the network users of the network environment. The wasted capacities of the RAM and the HDD hinder the ability of the multifunction network device to perform the demanded function with greater efficiency. These situations may also arise when a demand for a certain function is pre-scheduled by network users and/or system administrators. For example, the accounting department of a large office environment may schedule a large number of print jobs to begin at a certain time of a certain day of every week during off-hours. The demand of the multifunction network devices would be only for printing and it would be preferable for the multifunction network devices to perform printing of the scheduled print jobs as efficiently as possible.
In addition to the above drawbacks of typical multifunction network devices, such devices are generally pre-loaded with the firmware code to perform the multiple functions when they are manufactured. Accordingly, if a purchaser of the multifunction network device wants to use less than all of the functions of the multifunction network device, the performance of the device is hindered by the wasted RAM and HDD space consumed by those functions that the purchaser will never use. In addition, if improved firmware for one or more of the functions is generated by the manufacturer before the installation and use of the multifunction network device, the purchaser cannot obtain the benefit of the improved firmware unless it is manually installed in the multifunction network device. This can be a daunting task for a network administrator in a network environment having many multifunction network devices.
Lastly, some multifunction network devices have the ability to integrate hardware add-ons such as sorters, staplers, envelope trays, and the like. These add-ons often require upgraded or unique firmware to be loaded in the multifunction network device to support their respective functionality. Again, this is installation can be time consuming and cumbersome, especially when many multifunction network devices in a network environment require such add-ons.